Online services can augment desktop software applications used to generate, modify, or otherwise use electronic content by, for example, recommending additional electronic content. For example, online services may provide a virtual community for sharing electronic content used by desktop applications. Electronic content shared via online services, such as cloud services, can generate data regarding clients of the online services, electronic content posted to or modified via the online services through respective client accounts, electronic content provided via the online services and browsed by respective clients, etc. An online service may use data gathered about a client's browsing history to recommend additional content items that a user of a client account may be interested in viewing. Recommendations may induce clients to spend more time using the online service.
Prior solutions have used methods such as collaborative filtering to make recommendations to a client. Collaborative filtering can include making automatic predictions about the interests of user of a client account by collecting preferences or taste information from many clients. Prior solutions for making recommendations have also used graph-based approaches to make recommendations to a client based on links between a first client and other clients classified as “friends” of the first client.
These prior solutions rely on data that is generated using information entered by clients, such as a client's past use of electronic content or a client account's actions creating a link to another client account (e.g., identifying another client account as a “friend”). For example, collaborative filtering methods rely on clients' past use of electronic content. Prior graph-based approaches have relied on clients to take actions that generate links between the clients.